home *** CD-ROM | disk | FTP | other *** search
/ Internet 53 / INTERNET53.iso / mac / SOFTWARE / MAC / MULTIMEDIA / SOUNDEFFECTS / SOUNDEFFECTS-092.HQX / SoundEffects 0.9.2 ƒ / SoundEffects Developer’s Kit / EmptyEffect ƒ / Empty.c next >
C/C++ Source or Header  |  1994-11-18  |  1KB  |  53 lines

  1. #include "Glue.h"
  2. #include "Empty.h"
  3.  
  4.  
  5. pascal OSErr effect(ModParamsPtr modInfo, GluePtr glue, ModSettingsHandle *prefs)
  6. {
  7.     StringHandle    progressString;
  8.     short            timeToCallProgress;
  9.     OSErr            result = kModCancel;
  10.     
  11.     // effect can receive in prefs either nil or a valid handle. If the effect does
  12.     // not have any settings, prefs will be nil and we won’t do anything with it.
  13.     
  14.     UseResFile(modInfo->refNum);
  15.     
  16.     
  17.     // read the settings.
  18.     
  19.     DisposHandle((Handle)*prefs);
  20.     *prefs = 0L;
  21.     
  22.     
  23.     // let’s load the string we’ll show in the progress window.
  24.     
  25.     progressString = (StringHandle)Get1Resource('STR ', 128);
  26.     if (progressString == 0L)
  27.         return kModCouldntLoadMyRes;
  28.     
  29.     
  30.     // set up the progress window.
  31.     
  32.     (*glue->ModSetupProgress)(modInfo, &timeToCallProgress, progressString);
  33.     ReleaseResource((Handle)progressString);
  34.     
  35.     
  36.     // if the selection is empty, select the whole channels.
  37.     
  38.     if (modInfo->selSt == modInfo->selEnd)
  39.     {
  40.         modInfo->selSt = 0L;
  41.         (*glue->ModMaxRelChSize)(&modInfo, &modInfo->selEnd);
  42.     }
  43.     
  44.     
  45.     // process the sound from modInfo->selSt to modInfo->selEnd,
  46.     // from channel (*modInfo->hands)[ modInfo->selSt-1 ].chan
  47.     // to channel (*modInfo->hands)[ modInfo->selEnd-1 ].chan (inclusive).
  48.     
  49.     
  50.     (*glue->ModCloseProgress)();
  51.     
  52.     return result;
  53. }